工厂函数是什么?也是定义函数的一种方式么? |
您所在的位置:网站首页 › 前端new 构造函数的过程是什么意思呀 › 工厂函数是什么?也是定义函数的一种方式么? |
目录 工厂函数是什么? 定义某种数据类型的方式,一般有以下几种: 对于不同类型的数据,怎样定义方式最简单呢? 工厂函数是什么?工厂函数是定义对象的方式之一。不是定义函数的方式。 定义函数的方式,见链接:(4条消息) 从函数内变量的访问,到匿名函数和自调用函数_shaylo的博客-CSDN博客 定义对象的方式: 字面量(创建单个对象时)new Object() 构造函数工厂函数:对构造函数的封装自定义构造函数(创建多个对象时) // 工厂函数:封装 构造函数 function createPerson(name, age) { let person = new Object() person.name = name person.age = age person.sayHi = function () { console.log('Hi') } rerturn person } let p1 = createPerson('Lily', 18) console.log(p1) 定义某种数据类型的方式,一般有以下几种:第一种:字面量:最简单的方式,是通过赋值给变量来实现的。 // array let arr = [1, 2, 3] // function // 方式一:把普通函数赋值给变量 let foo = function fun(x) { return x * 2 } // 方式二:把匿名函数赋值给变量 let foo = function(x) { return x * 2 } // object let person1 = { name: 'Lily', age: 18, sayHi: function () { console.log(this.name + '向你问好') } }第二种:构造函数:通过 new 关键字+首字母大写的对象名 实现。(不推荐,代码量大) // array let arr1 = new Array(2, 3) console.log(arr1) // [2, 3] // function :不推荐,因为 参数 和 函数体 都要写为 字符串,很不方便 let foo = new Function('x', 'return x * 2') // object let person1 = new Object() person1.name = 'Lily' person1.age = 18 person1.sayHi = function () { console.log('你好') } 对于不同类型的数据,怎样定义方式最简单呢?数组:字面量方式 // array 字面量 let arr = [1, 2, 3]函数:首选箭头函数,其次是匿名函数,最后是function 关键字 // arrow function x => x * 2 (x, y) => { return x *= y } // 匿名函数 function (x) { return x * 2 } (function (x) { return x * 2 })(5); // function 关键字 function foo(x) { return x * 2 }对象: 创建单个对象:字面量方式创建多个对象:自定义构造函数 // 创建单个对象:字面量方式 let person1 = { name: 'Lily', age: 18, sayHi: function () { console.log(this.name + '向你问好') } } // 创建多个对象:自定义构造函数 function Person(name, age) { this.name = name this.age = age this.sayHi = function () { console.log(this.name + '向你问好') } } let p1 = new Person('Lily', 18) console.log(p1) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |